package com.mengtian_tech.smart_lab.entity.student;

import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import org.hibernate.annotations.GenericGenerator;
import org.jeecgframework.poi.excel.annotation.Excel;

import com.mengtian_tech.smart_lab.entity.dict.DictGrade;
import com.mengtian_tech.smart_lab.entity.dict.DictGroupEntity;
import com.mengtian_tech.smart_lab.entity.dict.DictMajorEntity;
import com.mengtian_tech.smart_lab.entity.dict.DictSeriesEntity;

/**   
 * @Title: Entity
 * @Description: 学生表
 * @author onlineGenerator
 * @date 2016-06-09 11:50:55
 * @version V1.0   
 *
 */
 
public class StudentEntity implements java.io.Serializable {
	/**主键*/
	private java.lang.String id;
	/**创建人名称*/
	private java.lang.String createName;
	/**创建人登录名称*/
	private java.lang.String createBy;
	/**创建日期*/
	private java.util.Date createDate;
	/**更新人名称*/
	private java.lang.String updateName;
	/**更新人登录名称*/
	private java.lang.String updateBy;
	/**更新日期*/
	private java.util.Date updateDate;
	/**学号*/
	@Excel(name="学号")
	private java.lang.String staffNo;
	/**姓名*/
	@Excel(name="姓名")
	private java.lang.String realName;
	/**性别*/
	@Excel(name="性别")
	private java.lang.Integer sex;
	/**生日*/
	@Excel(name="生日",format = "yyyy-MM-dd")
	private java.util.Date birthday;
	/**专业*/
	@Excel(name="专业名称")
	private DictMajorEntity major;
	/**系别*/
	@Excel(name="系别名称")
	private DictSeriesEntity series;
	/**班级*/
	@Excel(name="班级")
	private DictGrade stuClass;
	/**组别*/
	@Excel(name="组名")
	private DictGroupEntity stuGroup;
	 
	/**一卡通*/
	@Excel(name="一卡通")
	private java.lang.String cardNo;
	/**手机号*/
	@Excel(name="手机号")
	private java.lang.String mobilePhone;
	
	private Integer deleted;
	
	private String deleteReason;
	
	
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  主键
	 */
	@Id
	@GeneratedValue(generator = "paymentableGenerator")
	@GenericGenerator(name = "paymentableGenerator", strategy = "uuid")
	@Column(name ="ID",nullable=false,length=36)
	public java.lang.String getId(){
		return this.id;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  主键
	 */
	public void setId(java.lang.String id){
		this.id = id;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  创建人名称
	 */
	@Column(name ="CREATE_NAME",nullable=true,length=50)
	public java.lang.String getCreateName(){
		return this.createName;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  创建人名称
	 */
	public void setCreateName(java.lang.String createName){
		this.createName = createName;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  创建人登录名称
	 */
	@Column(name ="CREATE_BY",nullable=true,length=50)
	public java.lang.String getCreateBy(){
		return this.createBy;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  创建人登录名称
	 */
	public void setCreateBy(java.lang.String createBy){
		this.createBy = createBy;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  创建日期
	 */
	@Column(name ="CREATE_DATE",nullable=true,length=20)
	public java.util.Date getCreateDate(){
		return this.createDate;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  创建日期
	 */
	public void setCreateDate(java.util.Date createDate){
		this.createDate = createDate;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  更新人名称
	 */
	@Column(name ="UPDATE_NAME",nullable=true,length=50)
	public java.lang.String getUpdateName(){
		return this.updateName;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  更新人名称
	 */
	public void setUpdateName(java.lang.String updateName){
		this.updateName = updateName;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  更新人登录名称
	 */
	@Column(name ="UPDATE_BY",nullable=true,length=50)
	public java.lang.String getUpdateBy(){
		return this.updateBy;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  更新人登录名称
	 */
	public void setUpdateBy(java.lang.String updateBy){
		this.updateBy = updateBy;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  更新日期
	 */
	@Column(name ="UPDATE_DATE",nullable=true,length=20)
	public java.util.Date getUpdateDate(){
		return this.updateDate;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  更新日期
	 */
	public void setUpdateDate(java.util.Date updateDate){
		this.updateDate = updateDate;
	}
	 
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  性别
	 */
	@Column(name ="SEX",nullable=true,length=1)
	public java.lang.Integer getSex(){
		return this.sex;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  性别
	 */
	public void setSex(java.lang.Integer sex){
		this.sex = sex;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  生日
	 */
	@Column(name ="BIRTHDAY",nullable=true,length=32)
	public java.util.Date getBirthday(){
		return this.birthday;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  生日
	 */
	public void setBirthday(java.util.Date birthday){
		this.birthday = birthday;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  专业
	 */
	@ManyToOne
	@JoinColumn(name ="MAJOR_ID")
	public DictMajorEntity getMajor(){
		return this.major;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  专业
	 */
	public void setMajor(DictMajorEntity major){
		this.major = major;
	}
	 
	
	@ManyToOne
	@JoinColumn(name ="SERIES_ID")
	public DictSeriesEntity getSeries(){
		return this.series;
	}

 
	public void setSeries(DictSeriesEntity series){
		this.series = series;
	}
 
	@ManyToOne
	@JoinColumn(name="dict_grade_id")
	public DictGrade getStuClass() {
		return stuClass;
	}

	public void setStuClass(DictGrade stuClass) {
		this.stuClass = stuClass;
	}

	@ManyToOne
	@JoinColumn(name ="STU_GROUP")
	public DictGroupEntity getStuGroup(){
		return this.stuGroup;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  组别
	 */
	public void setStuGroup(DictGroupEntity stuGroup){
		this.stuGroup = stuGroup;
	}
	 
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  一卡通
	 */
	@Column(name ="CARD_NO",nullable=true,length=50)
	public java.lang.String getCardNo(){
		return this.cardNo;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  一卡通
	 */
	public void setCardNo(java.lang.String cardNo){
		this.cardNo = cardNo;
	}
	 

	@Column(name="deleted")
	public Integer getDeleted() {
		return deleted;
	}

	public void setDeleted(Integer deleted) {
		this.deleted = deleted;
	}

	@Column(name="delete_reason")
	public String getDeleteReason() {
		return deleteReason;
	}

	public void setDeleteReason(String deleteReason) {
		this.deleteReason = deleteReason;
	}

	public java.lang.String getStaffNo() {
		return staffNo;
	}

	public void setStaffNo(java.lang.String staffNo) {
		this.staffNo = staffNo;
	}

	public java.lang.String getRealName() {
		return realName;
	}

	public void setRealName(java.lang.String realName) {
		this.realName = realName;
	}

	public java.lang.String getMobilePhone() {
		return mobilePhone;
	}

	public void setMobilePhone(java.lang.String mobilePhone) {
		this.mobilePhone = mobilePhone;
	}
}
